#pragma once
#include "IImageReportCallback.h"

class CImageBase;


class CImageBrushReportCallback :
	public IImageReportCallback
{
public: 
	static HRESULT Create(CImageBase * pImage, CImageBrushReportCallback * * ppCallback);
	virtual XUINT32 AddRef();
	virtual XUINT32 Release();
	virtual HRESULT FireImageFailed(XUINT32 iErrorCode);
	virtual HRESULT FireDownloadProgress(XFLOAT iProgress);
	virtual HRESULT FireImageOpened();
	virtual void Disable();

private: 
	CImageBrushReportCallback();
	~CImageBrushReportCallback();
	CImageBase * m_pImage;
	XUINT32 m_cRef;
};